<!DOCTYPE html>
<html lang="zh-cn">
<head>

	<!-- meta -->
	<meta charset="utf-8"/>
	<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0"/>
	<!-- title -->
	<title>KBlog | 技术分享</title>
	<!-- css -->
	<link rel="shortcut icon" type="text/css" href="/img/favicon.ico"/>
	<link rel="stylesheet" type="text/css" href="/webshow/bootstrap/css/bootstrap.min.css"/>
	<link rel="stylesheet" type="text/css" href="/webshow/index/css/kblog.css"/>
	<link rel="stylesheet" type="text/css" href="./css/kblog_comments.css"/>
	<link rel="stylesheet" type="text/css" href="/webshow/index/css/kblog_auth.css"/>
	<link rel="stylesheet" type="text/css" href="/webshow/index/js/jquery.Jcrop.min.css"/>
	<!-- 标签云样式 -->
	<link rel="stylesheet" type="text/css" href="/webshow/index/css/jQCloud.css"/>
	<!-- 字体图标样式 -->
	<link rel="stylesheet" type="text/css" href="/webshow/index/css/font-awesome.min.css"/> 

	<!-- js -->
	<script type="text/javascript" src="/webshow/index/js/jquery-2.1.3.min.js"></script>
	<script type="text/javascript" src="/webshow/index/js/jquery.cookie.js"></script>
	<script type="text/javascript" src="/webshow/index/js/jquery.form.js"></script>
	<!-- <script type="text/javascript" src="./static/jquery/jquery.Jcrop.js"></script> -->
	<script type="text/javascript" src="/webshow/bootstrap/js/bootstrap.min.js"></script>
	<script type="text/javascript" src="/webshow/index/js/kblog.js"></script>
	<script type="text/javascript" src="/webshow/index/js/jQCloud.js"></script>

</head>
<body id="kblog" scroll="no">
	<header id="kblog-header" class="navbar navbar-inverse navbar-fixed-top navbar-kblog">
		
		<div class="container">
			<div class="navbar-header">
				<button type="button" class="navbar-toggle" data-toggle = "collapse" data-target = "#kblog-navbar-collapse">
					<span class="sr-only">切换导航条</span>
					<span class="icon-bar"></span>
					<span class="icon-bar"></span>
					<span class="icon-bar"></span>
					<span class="icon-bar"></span>
				</button>
				<div class="navbar-brand">KBlog</div>
			</div>
			<div id="kblog-navbar-collapse" class="collapse navbar-collapse">
				<ul class="nav navbar-nav">
					<li class="">
						<a href="/">
							<span class="glyphicon glyphicon-home"></span>博客首页
						</a>
					</li>

					<li class="">
						<a href="/all/">
							<span class="glyphicon glyphicon-globe"></span>全部文章
						</a>
					</li>

					<li class="">
						<a href="/news/">
							<span class="glyphicon glyphicon-star-empty"></span>资讯信息
						</a>
					</li>
				</ul>
				<ul class="nav navbar-nav navbar-right">
					<li>
						<a id="nav-login" data-toggle="modal" data-target="#login-modal" style="padding-right: 0px;cursor: pointer;" data-original-title="" title="">登录</a>
					</li>

					<li>
						<a id="nav-register" data-toggle="modal" data-target="#register-modal" style="padding-right: 0px;cursor: pointer;">注册</a>
					</li>
				</ul>	
			</div>
		</div>
	</header>
	<div id="login-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
		<div class="modal-dialog" style="margin-top: 20%;">
			<div class="modal-content">
				<div class="modal-header" >
					<button class="close" type="button" data-dismiss="modal" aria-hidden="true">  ×  </button>
					<h4 id="myModalLabel" class="modal-title"> 用户登录 </h4>
				</div>
				<div class="modal-body clearfix">
					<form id="login-form" class="form-horizontal" method="post" role="form">
						<input type="hidden" name="csrftoken" value="9ipHVVEIK5nz8DWNuDEU66bwynD7LDOt"/>
						<div class="form-group">
							<label class="col-sm-2 control-label" for="login-username">用户名</label>
							<div class="col-sm-6">
								<input id = "login-username" name="username" class="form-control" placeholder="请输入用户名..." type="text"/>
							</div>

							<div id="forgetpassword" style="margin-right: 90px;">
							<a href="/forgetpassword/">忘记密码?</a>
							</div>
						</div>

						<div class="form-group">
							<label class="col-sm-2 control-label" for="login-password">密码</label>
							<div class="col-sm-6">
								<input id = "login-password" name="password" class="form-control" placeholder="请输入密码..." type="password"/>
							</div>

							<button id="login-button" class="btn btn-primary" type="submit" style="margin-right: 90px;">
								登录
							</button>
						</div>
					</form>
				</div>
			</div>
		</div>
	</div>

	<div id="register-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
		<div class="modal-dialog" style="margin-top: 20%;">
			<div class="modal-content">
				<div class="modal-header">
					<button class="close" type="button" data-dismiss="modal" aria-hidden="true">  ×  </button>
					<h4 id="myModalLabel" class="modal-title"> 用户注册 </h4>
				</div>
				<div class="modal-body clearfix">
					<form id="register-form" class="form-horizontal" method="post" role="form">
						<input type="hidden" name="csrftoken" value="9ipHVVEIK5nz8DWNuDEU66bwynD7LDOt"/>
						<div class="form-group">
							<label class="col-sm-2 control-label" for="register-username">用户名</label>
							<div class="col-sm-6">
								<input id = "register-username" class="form-control" placeholder="请输入用户名..." type="text"/>
							</div>
						</div>

						<div class="form-group">
							<label class="col-sm-2 control-label" for="register-email">Email</label>
							<div class="col-sm-6">
								<input id = "register-email" class="form-control" placeholder="请输入邮箱..." type="text"/>
							</div>
						</div>

						<div class="form-group">
							<label class="col-sm-2 control-label" for="register-password-1">密码</label>
							<div class="col-sm-6">
								<input id = "register-password-1" class="form-control" placeholder="请输入密码..." type="password"/>
							</div>
						</div>
						<div class="form-group">
							<label class="col-sm-2 control-label" for="register-password-2">确认密码</label>
							<div class="col-sm-6">
								<input id = "register-password-2" class="form-control" placeholder="请再次输入密码..." type="password"/>
							</div>

							<button id="register-button" class="btn btn-primary pull-right" type="submit" style="margin-right: 90px;">
								注册
							</button>
						</div>
					</form>
				</div>
			</div>
		</div>
	</div>

	<div class="kblog-main">
		<div id="kblog-content" class="container">
			<div class="row">
				<div id="kblog-content" class="col-md-8 col-lg-9">
					<div id="article-page" class="well">
						<ol class="breadcrumb">
							<li><a href="/"><span class="glyphicon glyphicon-home"></span></a></li>
							<li><a href="/category/spring/">spring</a></li>
							<li class="hidden-xs"><a><span class="glyphicon glyphicon-calender"></span>2016-0-28</a></li>
							<li>
								<a>
									<span class="glyphicon glyphicon-eye-open"></span>
									1212
								</a>
							</li>
							<li class="pull-right">
								<a>
									<span class="glyphicon glyphicon-user"></span>
									oubayeung
								</a>
							</li>
						</ol>

						<div id="article">
							<div class="article-title">
								<h1>spring内幕技术</h1>
							</div>
							<div class="article-tag">
								<a href="/tags/spring/">
									<span class="label label-kblog-1 btn">spring</span>
								</a>

								<a href="/tags/java/">
									<span class="label label-kblog-2 btn">java</span>
								</a>
							</div>
							<hr/>

							<div class="article-content">
								<p>
									 Spring框架，由Rod Johnson开发，是一个非常强大的反转控制（IOC）框架，以帮助分离项目组件的依赖关系。
在本系列教程，将多个步骤提供一些例子，用来学习和解释Spring框架。
新的 Spring 4.1 教程 (2015/12/12)
增加了关于使用Spring EL，JavaConfig，AspectJ和Spring对象/XML映射（OXM）等许多Spring 4.0 的实例教程。
Spring其它教程（推荐）

     Spring Security教程   
     Spring MVC教程 

Spring快速入门
快速入门了解Spring框架开发的基础。

    1.0、Spring hello world实例 
    Spring3.0的hello world 实例，在新的Spring3.0开发需要什么。
    1.1、Spring松耦合的实例

    一个例子用来演示Spring是如何使组件之间松散耦合的。

    1.2 - Spring MVC教程 - Spring MVC系列教程。

Spring JavaConfig
Spring 3.0支持JavaConfig，现在可以使用注解来配置Spring。

    1.2、Spring JavaConfig 实例
    使用@Configuration和@Bean演示到在Spring定义bean
    1.3、Spring JavaConfig @Import 实例
    使用@Import组织Bean类模块化的实例

Spring 依赖注入(DI)
Spring如何使用依赖注入（DO）来管理对象的依赖关系。

    1.4、Spring依赖注入 (DI)
    Spring如何通过应用Setter注入和构造器注入的依赖注入（DI）设计模式实例
    1.5、Spring DI 通过setter方法
    通过setter方法依赖注入bean
    1.6、Spring DI 构造方法
    可以通过构造方法依赖注入bean
    1.7.1、Spring构造方法注入类型歧义
    构造函数注入参数类型歧义的问题总是发生在一个bean包含多个构造方法有多个参数

Bean基础
只需要在Spring IoC容器使用的类被认为是“Bean”，并可在Spring bean 的配置文件或者通过注解来声明。

    1.7、Spring bean 引用实例
    如何指定相同或不同的bean配置文件中的bean引用互相访问。
    1.8、注入值到Spring Bean的属性
    三种方法注入值到bean的属性。
    1.9、加载多个Spring bean配置文件
    开发人员总是在不同的模块文件夹归类不同的 bean 配置文件，这里有一个技巧，向您展示如何加载多个Spring bean 的配置文件。
    2.0、Spring内部Bean实例
    每当一个bean仅用于一个特定的属性，它总是建议将其声明为一个内部bean。
    2.1、Spring bean作用域
    Bean作用域是用来决定哪些bean实例的类型应该是从Spring容器中返回给调用者。
    2.2、Spring集合 (List, Set, Map, and Properties) 实例
    注入值到集合类型（列表，集，映射和属性）实例。
    2.3、ListFactoryBean实例
    创建一个具体的列表集合类（ArrayList 和 LinkedList），并注入到 bean 属性。
    2.4、SetFactoryBean实例
    创建一组具体的Set集合类（HashSet和TreeSet），并注入到bean属性。
    2.5、MapFactoryBean实例
    创建一个具体的映射集合类（HashMap和TreeMap中），并注入到bean属性。
    2.6、Spring注入日期到bean属性 – CustomDateEditor
    一般情况下，Spring接受日期变量，这里有一个技巧 - 使用CustomDateEditor来解决。
    2.7、Spring PropertyPlaceholderConfigurer实例
    通过一个特殊格式具体化部署详情到一个属性文件，并从bean配置文件访问获得 – ${variable}
    2.8、Spring bean配置继承
    继承是非常有用，一个bean来分享共同的值，属性或配置。
    2.9、Spring依赖检查
    Spring4中提供了依赖检查模式，以确保所要求的属性已经在bean中设置。
    3.0、Spring使用@Required注解依赖检查
    依赖检查注释模式。
    3.1、自定义@Required-style注解
    创建自定义@Required-style注解，相当于@Required 注解
    3.2、Bean InitializingBean 和 DisposableBean实例
    执行 bean 初始化和销毁某些动作（接口）
    3.3、Bean init-method 和 destroy-method 实例
    执行 bean 初始化和销毁某些动作（XML）
    3.4、Bean @PostConstruct 和 @PreDestroy 实例
    执行 bean 初始化和销毁某些动作（注解）

Spring表达式语言
Spring 3.0引入了Spring表达语言，或Spring EL丰富而强大的表达式语言。

    3.5、Spring EL hello world 实例
    使用 Spring 表达式语言（EL）快速入门
    3.6、Spring EL bean 引用实例
    参考bean，bean属性使用一个点（.）符号。
    3.7、Spring EL 方法调用实例
    直接调用Bean方法
    3.8、Spring EL 操作符实例
    Spring EL支持大多数标准的关系，逻辑和数学运算符。
    3.9、Spring EL 三元操作符(if-then-else) 实例
    有条件的检查：if else then.
    4.0、Spring EL Arrays, Lists, Maps 实例
    适用于映射和列表。
    4.1、Spring EL 正则表达式实例
    正则表达式来计算评估条件。
    4.2、测试 Spring EL 与 ExpressionParser
    如何轻松地测试Spring El。

Spring自动组件扫描
Spring是能够扫描，检测并自动注册 bean 的。

    4.3、Spring自动扫描组件
    让Spring自动扫描，检测和注册Bean。
    4.4、Spring过滤器组件自动扫描
    过滤器自动扫描模式的某些组件实例。

Spring自动装配Bean
Spring自动装配“auto-wiring"来装配或Bean类，无论是在XML和注释。

    4.5、Spring自动装配Beans
    Spring 5种自动装配方式总结。
    4.6、Spring由类型(Type)自动装配
    如果一个 bean 的数据类型是用其它 bean 属性的数据类型，那么自动装配它。
    4.7、Spring由名称(Name)自动装配
    如果一个 bean 的名称与其他bean属性的名称是一样的，那么可以自动装配它。
    4.8、Spring由构造方法自动装配
    由在构造函数的参数类型自动装配。
    4.9、Spring由AutoDetect自动装配
    这意味着选择“用构造函数自动装配”，如果默认构造函数被找到，否则使用“自动装配按类型”。
    5.0、Spring 使用@Autowired注解自动装配
    例子来说明如何定义注解 “auto-wiring” 模式。
    5.1、Spring 自动装配@Qualifier实例
    举个例子来确定哪些Bean有资格自动装配到某个字段上。

Spring AOP (面向方面编程)
Spring AOP的模块化方面横切关注点。简单地说，就是一个拦截器拦截一些方法。

    5.2、Spring AOP通知实例 – Advice
    有关不同类型的 Spring 建议说明和示例。
    5.3、Spring AOP实例 – Pointcut , Advisor
    有关不同类型的 Spring 的切入点和 Advisor 的解释和示例。
    5.4、Spring AOP拦截器的序列
    AOP拦截器的顺序会影响功能。
    5.5、自动代理创建者实例
    一个自动代理生成例子是用来为Bean自动创建代理对象，以避免造成许多重复的代理对象。

Spring AOP + AspectJ框架
由于Spring 2.0中对 AspectJ 更加灵活和强大的支持。然而，本实例在 Spring3.0 中应用说明。

    5.6、Spring AOP + AspectJ注解实例
    一个例子向您展示如何将AspectJ 注解与Spring框架集成。
    5.7、Spring AOP + AspectJ 在 XML配置实例
    Spring AOP 使用AspectJ 在XML基本配置。

Spring Object/XML 映射器
在Spring3.0，对象到XML映射（OXM）从Spring Web服务到核心Spring框架。

    5.8、Spring Object/XML映射实例
    Spring oxm + castor，转换对象到XML，反之亦然。

Spring JDBC支持
Spring提供了很多辅助类简化整个 JDBC 数据库操作。

    5.9、Spring + JDBC实例
    一个例子来说明如何集成 Spring 和 JDBC。
    6.0、JdbcTemplate + JdbcDaoSupport 实例
    使用Spring的JdbcTemplate和JdbcDaoSupport 类来简化整个JDBC数据库操作过程的一个实例。
    6.1、Spring JdbcTemplate查询实例
    这里有一些例子来说明如何使用JdbcTemplate的query() 方法来查询或从数据库中提取数据。
    6.2、Spring JdbcTemplate batchUpdate() 实例
    这里是一个 BATCHUPDATE（）例子来说明如何执行批量插入操作。
    6.3、Spring SimpleJdbcTemplate查询示例
    更多的用户查询操作，或从数据库中提取数据的友好而简单的方法。
    6.4、Spring SimpleJdbcTemplate batchUpdate()实例
    使用SimpleJdbcTemplate类，一个Java5 的友好补充 JdbcTemplate 的一个批量更新的例子。
    6.5、Spring SimpleJdbcTemplate类命名参数实例
    一个例子来说明如何使用命名参数作为SQL参数值，而这仅仅是在SimpleJdbcTemplate中支持。

Spring Hibernate支持
Spring 提供了许多方便的类来支持 Hibernate ORM框架。

    6.6、Spring+Hibernate+MySql实例
    使用 Spring 和 Hibernate 的一个简单的项目。
    6.7、Spring + Hibernate+ MySql注解实例
    使用Spring和Hibernate（注释版）的一个简单的项目。
    6.8、Spring AOP在Hibernate的事务管理
    一个例子来说明如何管理Hibernate事务与Spring AOP。
    Struts + Spring + Hibernate集成
    Spring、Struts和Hibernate框架集成的实例。

Spring E-mail支持
Spring 提供 MailSender 通过 JavaMail API 发送电子邮件。

    6.9、通过MailSender发送电子邮件
    使用Spring的MailSender通过Gmail的SMTP服务器发送电子邮件实例。
    7.0、在bean配置文件中的电子邮件模板
    硬编码所有电子邮件属性和消息，正文内容不是一个好的做法，应该考虑在 Spring的bean配置文件中定义电子邮件模板。
    7.1、Spring发送带附件的Email
    使用Spring来发送带附件的电子邮件示例。

Spring与其它Web框架集成
Spring集成其它Web框架。

    7.2、Spring依赖注入servlet会话监听器
    Spring提供了一个“ContextLoaderListener”监听器作为一个通用的方法，以使Spring依赖注入会话监听器应用到几乎所有其他的web框架。
    Struts 2 + Spring集成实例
    Spring和Struts2框架集成的实例。
    Struts 2 + Spring + Quartz 计划程序集成示例
    Spring + Struts 2 + Quartz集成实例
    Struts 2 + Spring + Hibernate集成实例
    Spring+Struts2+Hibernate的集成实例。

Spring问答

    7.3、= 资源捆绑ResourceBundleMessageSource示例
    ResourceBundleMessageSource解决文本信息在不同地区的最常见类。
    7.4、访问MessageSource的bean（MessageSourceAware）
    一个例子来说明如何经由MessageSourceAware 接口的 bean 得到 MessageSource。
    资源加载程序的getResource()示例
    Spring资源加载器提供了一个非常通用的getResource（）方法来从文件系统，类路径或URL得到这样的资源（文本文件，媒体文件，图像文件...）。

Spring常见错误

一些 Spring 常见的错误消息：

    Cannot proxy target class because CGLIB2 is not available
    CGLIB is required to process @Configuration classes
    java.lang.ClassNotFoundException: org.exolab.castor.xml.XMLException
    java.lang.ClassNotFoundException: org.apache.xml.serialize.XMLSerializer

Spring参考

    Spring Framework (Wiki)
    Spring官方文档
    Spring 3.0文档

								</p>
							</div>
						</div>
					</div>

					<!-- 评论区 -->

					<div id="anchor-quote">
						
					</div>
					<div class="well">
						<div class="kblog-comment">
							<div class="kblog-content-tx">
								<img src="/webshow/index/img/avatar.jpg" width="40"></img>
							</div>
							<div class="kblog-comment-edit clearfix">
								<form id="kblog-comment-form" method="get" role="form">
								<input type="hidden" name="csrftoken" value="9ipHVVEIK5nz8DWNuDEU66bwynD7LDOt"/>
									<textarea id="comment" name="comment" class="form-control" rows="4" placeholder="请输入评论内容，限200字！">
										
									</textarea>
									<button type="submit" class="btn btn-kblog-comments pull-right">提交</button>
								</form>
							</div>

							<ul>
								<li>
									<div class="kblog-comment-tx">
										<img src="/webshow/index/img/avatar.jpg" width="40"></img>
									</div>
									<div class="kblog-comment-content">
										<a>
											<h1>Susan</h1>
											<p></p>
											<p>
											评论：
											good!!
											</p>
											<p>2016-03-18 14:35:14 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a class='quote' href="#anchor-quote" onclick="return CommentQuote('bluex',98);">回复</a></p>
										</a>									
									</div>
								</li>
							</ul>

						</div>
					</div>
				</div>				
		
				<!-- 右边的widgets -->
				<div id="kblog-side" class="col-md-4 col-lg-3 hidden-xs">
					<div>
					<!-- <div id="tags_cloud" class=""> -->

				</div>

				<!-- 关于我 -->
				<div id="kblog-aboutme">
					<div class="panel panel-kblog" >
						<div class="panel-heading">
							<h3 class="panel-title">
								<span class="glyphicon glyphicon-user"></span>
								关于我
								<span class="glyphicon glyphicon-remove btn panel-close pull-right"></span>
								<span class="glyphicon glyphicon-chevron-up btn panel-collapse pull-right" data-toggle="collapse" data-target="#about-me"></span>
							</h3>
						</div>
						
						<div id="about-me" class="profile-block">
							<div>
								<img id="avatar" src="/webshow/index/img/avatar.jpg" class="img-circlestyle"/>
							</div>
							<!-- <h2 id="name">Oubayeung</h2> -->
							<!-- <h5 id="title" style="margin: 1.6em 0em">我是一枚爱折腾的万金油</h5> -->
							<div class="spanstyle">
								<span id="location">
									<i class="glyphicon glyphicon-map-marker">中国-北京-朝阳</i>
								</span>
							</div>
							<div class="seeme">
								<a id="follow" class="btn btn-info" target="_blank" href="https://github.com/oubayeung"> 关注我 </a>
							</div>

							<div class="article-info-block">
								21
								<span>
									文章
								</span>
							</div>
							<div class="article-info-block">
								32
								<span>
									标签
								</span>
							</div>

							<div class="profile-block social-links">
								<div>
									<table class="tablestyle">
										<tbody class="tbodystyle">
											<tr>
										
												<td class="tdstyle">
													<a class="fas" href="https://github.com/oubayeung" target="_blank" title="github">
														<i class="fa fa-github "></i>
													</a>
												</td>
												
												<td class="tdstyle">
													<a class="fas" href="https://git.oschina.net/oubayeung" target="_blank" title="git">
														<i class="fa fa-git"></i>
													</a>
												</td>

												<td class="tdstyle">
													<a class="fas" href="mailto:oubayeung@gmail.com" target="_blank" title="Email">
														<i class="fa fa-envelope"></i>
													</a>
												</td>

												<td class="tdstyle">
													<a class="fas" href="http://weibo.com/2014605502" target="_blank" title="weibo">
														<i class="fa fa-weibo"></i>
													</a>
												</td>

												<td class="tdstyle">
													<a class="fas" href="/atom.xml" target="_blank" title="rss">
														<i class="fa fa-rss"></i>
													</a>
												</td>
																							
											</tr>
										</tbody>
									</table>
								</div>
							</div>
						</div> 
					</div>
				</div>

				<!-- 检索 -->
				<div id="kblog-search">
					<div class="panel panel-kblog">
						<div class="panel-heading">
							<h3 class="panel-title">
								<span class="glyphicon glyphicon-search"></span>
								检索一下
								<span class="glyphicon glyphicon-remove btn panel-close pull-right"></span>
								<span class="glyphicon glyphicon-chevron-up btn panel-collapse pull-right" data-toggle="collapse" data-target="#search-box"></span>
							</h3>
						</div>
						<div id="search-box">
							<form class="clearfix" role="form" method="get" action="/search/">
								<!-- <span class="input-group glyphicon glyphicon-search"></span> -->
								<input class="search-in form-control" type="text" name="s" id="s" placeholder="请输入检索内容..."/>
								<!-- <span class="input-group-addon">搜索</span> -->
								<button class="btn btn-kblog">
									<span class="glyphicon glyphicon-search"></span>
								</button>
							</form>		
						</div>
					</div>
				</div>


				<!-- 热门推荐 -->
				<div id="kblog-hotest-posts">
					<div class="panel panel-kblog">
						<div class="panel-heading">
							<h3 class="panel-title">
								<span class="glyphicon glyphicon-flag"></span>
								热门推荐
								<span class="glyphicon glyphicon-remove btn panel-close pull-right"></span>
								<span class="glyphicon glyphicon-chevron-up btn panel-collapse pull-right" data-toggle="collapse" data-target="#hotest-post-list"></span>
							</h3>
						</div>
						<ul id="hotest-post-list" class="list-group collapse in">
							<li class="list-group-item">
								<span class="hotest-post-title">
									<a href="/article/blog.html">Python编程基础</a>
								</span>
								<span class="badge">6021</span>
							</li>
							<li class="list-group-item">
								<span class="hotest-post-title">
									<a href="/article/blog.html">Python编程基础</a>
								</span>
								<span class="badge">6021</span>
							</li>
							<li class="list-group-item">
								<span class="hotest-post-title">
									<a href="/article/blog.html">Python编程基础</a>
								</span>
								<span class="badge">6021</span>
							</li>
							<li class="list-group-item">
								<span class="hotest-post-title">
									<a href="/article/blog.html">Python编程基础</a>
								</span>
								<span class="badge">6021</span>
							</li>
							<li class="list-group-item">
								<span class="hotest-post-title">
									<a href="/article/blog.html">Python编程基础</a>
								</span>
								<span class="badge">6021</span>
							</li>
							<li class="list-group-item">
								<span class="hotest-post-title">
									<a href="/article/blog.html">Python编程基础</a>
								</span>
								<span class="badge">6021</span>
							</li>
							<li class="list-group-item">
								<span class="hotest-post-title">
									<a href="/article/blog.html">Python编程基础</a>
								</span>
								<span class="badge">6021</span>
							</li>
							<li class="list-group-item">
								<span class="hotest-post-title">
									<a href="/article/blog.html">Python编程基础</a>
								</span>
								<span class="badge">6021</span>
							</li>
							<li class="list-group-item">
								<span class="hotest-post-title">
									<a href="/article/blog.html">Python编程基础</a>
								</span>
								<span class="badge">6021</span>
							</li>
							<li class="list-group-item">
								<span class="hotest-post-title">
									<a href="/article/blog.html">Python编程基础</a>
								</span>
								<span class="badge">6021</span>
							</li>
						</ul>
					</div>
				</div>

				<!-- 最新评论 -->
				<div id="kblog-latest-comments">
					<div class="panel panel-kblog">
						<div class="panel-heading">
							 <h3 class="panel-title">
				                <span class="glyphicon glyphicon-comment"></span>
				                最新评论
				                <span class="glyphicon glyphicon-remove btn panel-close pull-right" data-dismiss="alert"></span>
				                <span class="glyphicon glyphicon-chevron-up btn panel-collapse pull-right"  data-toggle="collapse" data-target="#latest-comment-list"></span>
				            </h3>
						</div>
						<ul id="latest-comment-list" class="list-group collapse in">
							<li class="list-group-item clearfix">
								<!-- 头像 -->
								<div class="comment-tx">
									<img class="imgs-size" src="/webshow/index/img/tx/default.jpg" alt=""/>
								</div>
								<!-- 评论信息 -->
								<div class="comment-info">
									<!-- username -->
									<div class="comment-username">
										<a href="#">Jhon 评论：</a>
									</div>
									<!-- comment -->
									<div class="comment-content">
										<a href="/article/blog.html">
											Very nice!!!
										</a>
									</div>
								</div>
							</li>

							<li class="list-group-item clearfix">
								<div class="comment-tx">
									<img class="imgs-size" src="/webshow/index/img/tx/default.jpg" alt=""/>
								</div>
								<div class="comment-info">
									<div class="comment-username">
										<a href="#">Susan 评论：</a>
									</div>
									<div class="comment-content">
										<a href="/article/blog.html">
											不错啊
										</a>
									</div>
								</div>
							</li>

							<li class="list-group-item clearfix">
								<div class="comment-tx">
									<img class="imgs-size" src="/webshow/index/img/tx/default.jpg" alt=""/>
								</div>
								<div class="comment-info">
									<div class="comment-username">
										<a href="#">tohoma 评论：</a>
									</div>
									<div class="comment-content">
										<a href="/article/blog.html">
											nice!!!
										</a>
									</div>
								</div>
							</li>

							<li class="list-group-item clearfix">
								<div class="comment-tx">
									<img class="imgs-size" src="/webshow/index/img/tx/default.jpg" alt=""/>
								</div>
								<div class="comment-info">
									<div class="comment-username">
										<a href="#">奥巴马 评论：</a>
									</div>
									<div class="comment-content">
										<a href="/article/blog.html">
											厉害了
										</a>
									</div>
								</div>
							</li>

							<li class="list-group-item clearfix">
								<div class="comment-tx">
									<img class="imgs-size" src="/webshow/index/img/tx/default.jpg" alt=""/>
								</div>
								<div class="comment-info">
									<div class="comment-username">
										<a href="#">安倍晋三 评论：</a>
									</div>
									<div class="comment-content">
										<a href="/article/blog.html">
											主人，我知道错了
										</a>
									</div>
								</div>
							</li>

							<li class="list-group-item clearfix">
								<div class="comment-tx">
									<img class="imgs-size" src="/webshow/index/img/tx/default.jpg" alt=""/>
								</div>
								<div class="comment-info">
									<div class="comment-username">
										<a href="#">普京 评论：</a>
									</div>
									<div class="comment-content">
										<a href="/article/blog.html">
											再惹哥，干死你丫的
										</a>
									</div>
								</div>
							</li>

							<li class="list-group-item clearfix">
								<div class="comment-tx">
									<img class="imgs-size" src="/webshow/index/img/tx/default.jpg" alt=""/>
								</div>
								<div class="comment-info">
									<div class="comment-username">
										<a href="#">萨科齐 评论：</a>
									</div>
									<div class="comment-content">
										<a href="/article/blog.html">
											小安，给老子安静点
										</a>
									</div>
								</div>
							</li>
						</ul>
					</div>
					
				</div>

				<!-- 友情链接 -->
				<div class="kblog-links">
					<div class="panel panel-kblog">
						<div class="panel-heading">
							<h3 class="panel-title">
								<span class="glyphicon glyphicon-link"></span>
								友情链接
								<span class="glyphicon glyphicon-remove btn panel-close pull-right"></span>
								<span class="glyphicon glyphicon-chevron-up btn panel-collapse pull-right"  data-toggle="collapse" data-target="#links"></span>
							</h3>
						</div> 
						
						<div id="links" class="padding10 list-group collapse in">
							<a href="#" target="_blank" title="Spring boot" class="btn btn-xs btn-primary">Spring boot</a>
							<a href="#" target="_blank" title="Mybatis Plus" class="btn btn-xs btn-success">Mybatis Plus</a>
							<a href="#" target="_blank" title="Hibernate" class="btn btn-xs btn-info">Hibernate</a>
							<a href="#" target="_blank" title="Oracle" class="btn btn-xs btn-warning">Oracle</a>
							<a href="#" target="_blank" title="Spark" class="btn btn-xs btn-default">Spark</a>
						</div>
					</div>
				</div>

				<!-- 标签云 -->
				<div class="kblog-tags">
					<div class="panel panel-kblog">
						<div class="panel-heading">
							<h3 class="panel-title">
								<span class="glyphicon glyphicon-tags"></span>
								标签云
								<span class="glyphicon glyphicon-remove btn panel-close pull-right"></span>
								<span class="glyphicon glyphicon-chevron-up btn panel-collapse pull-right"  data-toggle="collapse" data-target="#tags-cloud"></span>
							</h3>
						</div> 
						
						<div id="tags-cloud" class="tags-cloud padding10 list-group collapse in">
							
						</div>
					</div>
				</div>
			</div>
		</div>

		<!-- <div id="toTop" class="fa fa-angle-up" style="display: block;left: 1499.88px;">
			
		</div> -->

	</div>


	<!-- footer -->
	<div>
		<footer>
			<div class="container">
				<p class="text-conter">基于Spring, Bootstrap的个人博客系统</p>
			</div>
		</footer>
	</div>

	<script type="text/javascript">
		var word = [
			{text: "Maven",weight:33},
			{text: "Spring",weight:25},
			{text: "Security",weight:45},
			{text: "Hibernate",weight:20},
			{text: "Mybatis",weight:22},
			{text: "bootstrap",weight:15},
			{text: "Linux",weight:31},
			{text: "Sprong Boot",weight:15},
			{text: "ORM",weight:15}
		];

		$(function() {
			$('#tags-cloud').jQCloud(word);
		});

	</script>
</div>
</body>


</html>

